<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
	<h:form id="listForm">
		<p:contextMenu for="listEscursione">
			<p:menuitem value="Mostra Dettagli" icon="ui-icon-info"
				onclick="PF('dlgDettagliEscursione').show();"
				update="escursioneDettagliPanel" />
			<p:menuitem value="Modifica" icon="ui-icon-pencil"
				onclick="PF('dlgEscursione').show();"
				update="escursionePanel, :messages"
				rendered="#{empty isAgent ? 'false' : 'true'}" />
			<p:menuitem value="Elimina" update="listEscursione, :messages"
				icon="ui-icon-close"
				actionListener="#{prodottiBean.cancellaEscursione}"
				rendered="#{empty isAgent ? 'false' : 'true'}" />
		</p:contextMenu>

		<p:dataTable id="listEscursione" var="escursioneVar"
			value="#{prodottiBean.listaEscursione()}"
			rowKey="#{escursioneVar.idEscursione}" selection="#{prodottiBean.escursione}"
			selectionMode="single" emptyMessage="Nessuna escursione inserita"
			paginator="true" rows="10" rowsPerPageTemplate="5,10,15"
			filteredValue="#{prodottiBean.filteredEscursione}">
			<f:facet name="header">Lista Escursioni</f:facet>
			<p:column headerText="Nome" filterBy="nome"
				filterMatchMode="contains">
				<h:outputText value="#{escursioneVar.nome}" />
			</p:column>
			<p:column headerText="Prezzo">
				<h:outputText value="#{escursioneVar.prezzo}" />
			</p:column>
			<p:column headerText="Località" filterBy="località"
				filterMatchMode="contains">
				<h:outputText value="#{escursioneVar.località}" />
			</p:column>
			<f:facet name="footer">
				<h:outputText
					value="in totale: #{prodottiBean.numEscursioni} escursioni" />
			</f:facet>
		</p:dataTable>


		<p:dialog id="dialogEscursione" header="Modifica Escursione"
			widgetVar="dlgEscursione" showEffect="clip" hideEffect="clip" dynamic="true">

			<p:ajax event="close" update="msgAggiornaEscursione, @this" />


			<h:panelGrid id="escursionePanel" columns="4" cellpadding="5">
				<h:outputLabel for="nomeEscursione" value="Nome:" />
				<p:inputText id="nomeEscursione" label="nomeEscursione"
					value="#{prodottiBean.nomeEscCorrente}">
					<p:ajax event="click" update="msgAggiornaEscursione" />
				</p:inputText>
				<p:watermark for="nomeEscursione"
					value="#{prodottiBean.escursione.nome}" />
				<p:message id="msgNomeEscursione" for="nomeEscursione" />

				<h:outputLabel for="prezzoEscursione" value="Prezzo:" />
				<p:inputText id="prezzoEscursione" label="prezzoEscursione"
					value="#{prodottiBean.prezzoEscCorrente}"
					validatorMessage="Inserire un numero non negativo o lasciare vuoto">
					<f:validateRegex pattern="[0-9]*" />
					<p:ajax event="click" update="msgAggiornaEscursione" />
				</p:inputText>
				<p:watermark for="prezzoEscursione"
					value="#{prodottiBean.escursione.prezzo}" />
				<h:outputLabel></h:outputLabel>

				<p:message id="msgPrezzoEscursione" for="prezzoEscursione" />
				<h:outputLabel></h:outputLabel>
				<h:outputLabel></h:outputLabel>
				<h:outputLabel></h:outputLabel>

				<h:outputLabel for="localitàEscursione" value="Località:" />
				<h:outputLabel id="localitàEscursione"
					value="#{prodottiBean.escursione.località}" />
				<h:outputLabel></h:outputLabel>
				<h:outputLabel></h:outputLabel>

			</h:panelGrid>
			<p:commandButton id="salvaEscursione" value="Salva"
				update="escursionePanel, msgAggiornaEscursione, listEscursione"
				action="#{prodottiBean.updateEscursione()}" />

			<p:messages id="msgAggiornaEscursione" showDetail="false"
				autoUpdate="false" closable="true" for="salvaEscursione" />
		</p:dialog>

		<p:dialog id="dialogDettagliEscursione" header="Dettagli Escursione"
			widgetVar="dlgDettagliEscursione" showEffect="clip" hideEffect="clip" dynamic="true">

			<h:panelGrid id="escursioneDettagliPanel" columns="2" cellpadding="5">
				<h:outputLabel value="Nome:" />
				<h:outputLabel value="#{prodottiBean.escursione.nome}" />

				<h:outputLabel value="Località:" />
				<h:outputLabel value="#{prodottiBean.escursione.località}" />

				<h:outputLabel value="Prezzo:" />
				<h:outputLabel value="#{prodottiBean.escursione.prezzo}" />
			</h:panelGrid>
		</p:dialog>
	</h:form>
</ui:composition>
